﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace QuanLyThietBi
{
    class CXuly_vattu
    {
        SqlConnection con;
        public CXuly_vattu(SqlConnection con)
        {
            this.con = con;
        }
        public List<CVattu> getdsvattu()
        {
            List<CVattu> l = new List<CVattu>();
            con.Open();
            string strCom = "select * from vattu";
            SqlCommand com = new SqlCommand(strCom, con);
            SqlDataReader data = com.ExecuteReader();
            while (data.Read())
            {
                CVattu vt = new CVattu();
                vt.Mavattu = data["mavattu"].ToString();
                vt.Tenvattu = data["tenvattu"].ToString();
                vt.Nhasanxuat = data["nhasanxuat"].ToString();
                vt.Loaivattu.Maloai = data["maloaivattu"].ToString();
                l.Add(vt);

            }
            con.Close();
            
            return l;
        }
        public List<CVattu> getdsvattu(string maloaivattu)
        {
            List<CVattu> l = new List<CVattu>();
            con.Open();
            string strCom = "select * from vattu where maloaivattu=@maloaivattu";
            SqlCommand com = new SqlCommand(strCom, con);

            com.Parameters.AddWithValue("@maloaivattu", maloaivattu);
            SqlDataReader data = com.ExecuteReader();
            while (data.Read())
            {
                CVattu vt = new CVattu();
                vt.Mavattu = data["mavattu"].ToString();
                vt.Tenvattu = data["tenvattu"].ToString();
                vt.Nhasanxuat = data["nhasanxuat"].ToString();
                vt.Loaivattu.Maloai= data["maloaivattu"].ToString();
                l.Add(vt);

            }
            con.Close();
            return l;
        }
        public CVattu tim(string str)
        {
            con.Open();
            string strCom = "select * from vattu where mavattu=@str OR tenvattu=@str";
            SqlCommand com = new SqlCommand(strCom, con);
            com.Parameters.AddWithValue("@str", str);
            SqlDataReader data = com.ExecuteReader();
            CVattu x = null;
            while (data.Read())
            {
                x = new CVattu();
                x.Mavattu = data["mavattu"].ToString();
                x.Tenvattu = data["tenvattu"].ToString();
                x.Nhasanxuat = data["nhasanxuat"].ToString();
                x.Loaivattu.Maloai = data["maloaivattu"].ToString();
                break;
            }
            con.Close();
            return x;
        }
        public bool them(CVattu a)
        {
            if (tim(a.Mavattu) != null) return false;
            con.Open();
            string str = "insert into vattu values(@mavattu,@tenvattu,@nhasanxuat,@maloaivattu)";

            SqlCommand com = new SqlCommand(str, con);
            com.Parameters.AddWithValue("@mavattu", a.Mavattu);
            com.Parameters.AddWithValue("@tenvattu", a.Tenvattu);
            com.Parameters.AddWithValue("@nhasanxuat", a.Nhasanxuat);
            com.Parameters.AddWithValue("@maloaivattu", a.Loaivattu.Maloai);
            com.ExecuteNonQuery();
            con.Close();
            return true;
        }
        public void xoa(string maloai)
        {
            con.Open();
            string str = "delete from vattu where mavattu='" + maloai + "'";
            SqlCommand com = new SqlCommand(str, con);
            try
            {
                com.ExecuteNonQuery();
            }
            catch (SqlException)
            {
                MessageBox.Show("Lỗi Khoá Ngoại");
                con.Close();
            }
            con.Close();
        }
        public void sua(CVattu a)
        {

            con.Open();
            string str = "update vattu set tenvattu=@tenvattu, nhasanxuat=@nhasanxuat,maloaivattu=@maloaivattu where mavattu=@mavattu";
            SqlCommand com = new SqlCommand(str, con);
            com.Parameters.AddWithValue("@mavattu", a.Mavattu);
            com.Parameters.AddWithValue("@tenvattu", a.Tenvattu);
            com.Parameters.AddWithValue("@nhasanxuat", a.Nhasanxuat);
            com.Parameters.AddWithValue("@maloaivattu", a.Loaivattu.Maloai);
            com.ExecuteNonQuery();
            con.Close();
        }
    }
}
